home *** CD-ROM | disk | FTP | other *** search
/ Tiger Disk 13 / Tiger_Disk_013_19xx_Tiger-Crew-Disk_de_Side_B.d64 / lektion 7 (.txt) < prev    next >
Commodore BASIC  |  2023-02-26  |  7KB  |  176 lines

  1. 1 rem*********************************
  2. 2 rem*----------lektion-7------------*
  3. 3 rem*-------------------------------*
  4. 4 rem*----(w)-by-arno-freisinger-----*
  5. 5 rem*-------------------------------*
  6. 6 rem*--------teachmaster------------*
  7. 7 rem*-------------------------------*
  8. 8 rem*********************************
  9. 10 poke 53280 , 11 : poke 53281 , 11 : print "[155]" : poke 2050 , 1
  10. 15 sys 42291 : poke 46 , peek (35) : poke 45 , peek (781) + 2 : clr
  11. 20 print"[147]"tab(15)"teachmaster"
  12. 30 print""tab(09)"(w) by arno freisinger"
  13. 40 print""tab(10)"                    "
  14. 50 for i = 1 to 2000 : next
  15. 60 print"[147]"tab(15)"lektion 7"
  16. 70 for i = 1 to 1000 : next
  17. 80 get a$ : get a$ : get a$
  18. 85 rem*********************************
  19. 90 rem*-------- seite 1 --------------*
  20. 95 rem*********************************
  21. 100 print"[147]wir sind ja jetzt schon richtig weit."
  22. 110 print"da wir ja fast alle befehle durch haben"
  23. 120 print"wollen wir das wissen ueber die befehle"
  24. 130 print"in dieser lektion fast komplett machen."
  25. 140 print"da waere der befehl cmp[146]. ihn kann man"
  26. 150 print"einsetzen wie den basic befehl"
  27. 160 print"if..then... . der cmp-befehl vergleicht"
  28. 170 print"den akku-inhalt mit dem wert, der beim"
  29. 180 print"cmp-befehl angegeben wird.er lautet so :"
  30. 190 print"cmp #(wert) oder cmp (adresse).jetzt"
  31. 210 print""tab(14)"taste druecken"
  32. 220 print""tab(18)"-1-"
  33. 230 gosub 250
  34. 240 on a goto 295 , 60
  35. 247 rem********************************
  36. 248 rem*------- tasten abfrage -------*
  37. 249 rem********************************
  38. 250 get a$ : if a$ = "" then 250
  39. 260 if a$ = "z" then a = 2 : return
  40. 270 a = 1 : return
  41. 280 rem********************************
  42. 285 rem*-------- seite 2 -------------*
  43. 290 rem********************************
  44. 295 print"[147]eine tabelle, die die reaktionen ver-"
  45. 300 print"deutlichen soll:"
  46. 310 print"[213][195][195][195][195][195][195]flag[192][192][195]reaktionen[195]auf[195]cmp[195][195][195][195][195][195][201]"
  47. 320 print"[194]                                     [194]"
  48. 330 print"[194] flag  [194] daten > [194] daten = [194] daten < [194]
  49. 340 [153]"peekvalvalvalvalvalvalvalvalvalvalvalvalvalvalvalvalvalvalvalvalvalvalvalvalvalvalvalvalvalvalvalvalvalvalvalvalvalpeek"
  50. 350 [153]"peekn-flag peek 1 oder 0peek    0    peek 1 oder 0peek"
  51. 360 [153]"peekvalvalvalvalvalvalvalvalvalvalvalvalvalvalvalvalvalvalvalvalvalvalvalvalvalvalvalvalvalvalvalvalvalvalvalvalvalpeek"
  52. 370 [153]"peekz-flag peek    0    peek    1    peek    0    peek"
  53. 380 [153]"peekvalvalvalvalvalvalvalvalvalvalvalvalvalvalvalvalvalvalvalvalvalvalvalvalvalvalvalvalvalvalvalvalvalvalvalvalvalpeek"
  54. 390 [153]"peekc-flag peek    1    peek    1    peek    0    peek"
  55. 400 [153]"peek                                     peek"
  56. 410 [153]"mid$lenlenlenlenlenlenlenlenlenlenlenlenlenlenlenlenlenlenlenlenlenlenlenlenlenlenlenlenlenlenlenlenlenlenlenlenlen(NULL)"
  57. 420 [153]"hier koennen sie sehen, wie das status-"
  58. 430 [153]"register eingestellt ist, wenn sie mit"
  59. 450 [153]""[163]14)"taste druecken"
  60. 460 [153]""[163]18)"-2-"
  61. 470 [141] 250 : [145] a [137] 480 , 100
  62. 480 [143]********************************
  63. 490 [143]*--------- seite 3 ------------*
  64. 495 [143]********************************
  65. 500 [153]"loadcmp verglichen haben. merken sie es sich"
  66. 510 [153]"gut, da es sehr wichtig ist. nun aber "
  67. 520 [153]"weiter : cpywait und cpxwait sind die ver-"
  68. 530 [153]"gleichsbefehle fuer das x & y register."
  69. 540 [153]"cpy vergleicht das y-register,"
  70. 550 [153]"cpx vergleicht das x-register."
  71. 560 [153]"die flags reagieren genauso, wie bei"
  72. 570 [153]"cmp. man kann dann die flags abfragen"
  73. 580 [153]"mit den befehlen, die wir in lektion 5"
  74. 590 [153]"gelernt haben. sie heissen bcc,bcs,beq,"
  75. 600 [153]""[163]14)"taste druecken"
  76. 610 [153]""[163]18)"-3-"
  77. 620 [141] 250 : [145] a [137] 640 , 295
  78. 630 [143]********************************
  79. 640 [143]*--------- seite 4 ------------*
  80. 650 [143]********************************
  81. 660 [153]"loadbmiwait und bnewait. sie wissen hoffentlich"
  82. 670 [153]"noch die befehle, der einzelnen flags."
  83. 680 [153]"jetzt ein paar beispiele :"
  84. 690 [153]"     lda #$00  ;akku = 0"
  85. 700 [153]"     cmp $1000 ;vergleichen mit speich."
  86. 710 [153]"               ;$1000 (4096)."
  87. 720 [153]"     beq loop  ;falls=0 dann nach loop."
  88. 730 [153]"     rts       ;zurueck springen."
  89. 740 [153]"loop lda #65   ;asci-code fuer a laden"
  90. 750 [153]"     jmp $ffd2 ;sprung nach chrout"
  91. 760 [153]"dies war das erste beispiel. es wird ein"
  92. 765 [153]"a ausgedruckt, wenn speichs.$1000 (4096)"
  93. 767 [153]"gleich null ist. jetzt ein neues"
  94. 770 [153]""[163]14)"taste druecken"
  95. 780 [153]""[163]18)"-4-"
  96. 790 [141] 250 : [145] a [137] 800 , 480
  97. 800 [143]********************************
  98. 810 [143]*---------- seite 5 -----------*
  99. 820 [143]********************************
  100. 830 [153]"loadbeispiel :"
  101. 840 [153]"     ldx  $02 ;in x-r. wert von 2 laden."
  102. 850 [153]"     cpx #$02 ;vergleich mit zwei"
  103. 860 [153]"     bcs loop ;wenn >= dann nach loop."
  104. 870 [153]"     lda  $10 ;wert von speicherst.$10"
  105. 880 [153]"              ;(16) in den akku laden."
  106. 890 [153]"     jmp $ffd2;sprung nach chrout"
  107. 900 [153]"loop lda #66  ;asc-ii-code fuer b laden"
  108. 910 [153]"     jsr $ffd2;sprung zu chrout"
  109. 920 [153]"     rts      ;zurueck springen."
  110. 930 [153]"das programm druckt ein b aus,     "
  111. 940 [153]""[163]14)"taste druecken"
  112. 950 [153]""[163]18)"-5-"
  113. 960 [141] 250 : [145] a [137] 990 , 640
  114. 970 [143]********************************
  115. 980 [143]*--------- seite 6 ------------*
  116. 990 [143]********************************
  117. 1000 [153]"loadwenn die speicherstelle 2 einen "
  118. 1010 [153]"groesseren wert als $02 (2) besitzt."
  119. 1030 [153]"wenn nicht wird der ascii-code von $10"
  120. 1040 [153]"(16) ausgedruckt ."
  121. 1070 [153]"nun weiter mit den neuen befehlen :"
  122. 1080 [153]"taxwait heisst der naechste. er uebergibt"
  123. 1090 [153]"den wert des akkus ins x-register, ohne"
  124. 1100 [153]"dass der akku veraendert wird."
  125. 1110 [153]""[163]14)"taste druecken"
  126. 1120 [153]""[163]18)"-6-"
  127. 1130 [141] 250 : [145] a [137] 1150 , 800
  128. 1150 [143]*******************************
  129. 1160 [143]*--------- seite 7 -----------*
  130. 1170 [143]*******************************
  131. 1180 [153]"loadtaywait uebergibt den wert des akkus an"
  132. 1190 [153]"das y-regtster. tsxwait uebergibt den"
  133. 1200 [153]"stapelzeiger (dazu gleich mehr) in das"
  134. 1210 [153]"x-register. txawait ist die umkehrung von"
  135. 1220 [153]"tax. txa uebergibt den wert des x-reg."
  136. 1230 [153]"in den akku. txswait ist das gegenteil"
  137. 1240 [153]"von tsx. txs uebergibt den x-reg. wert"
  138. 1250 [153]"an den stapelzeiger. d.h. der stapelz."
  139. 1260 [153]"hat den wert des x-reg., ohne dass der"
  140. 1270 [153]"wert des x-registers veraendert wird."
  141. 1280 [153]""[163]14)"taste druecken"
  142. 1290 [153]""[163]18)"-7-"
  143. 1300 [141] 250 : [145] a [137] 1320 , 980
  144. 1310 [143]*******************************
  145. 1320 [143]*---------- seite 8 ----------*
  146. 1330 [143]*******************************
  147. 1340 [153]"loadtyawait ist das gegenteil von tay. hier"
  148. 1350 [153]"wird der wert des y-registers in den"
  149. 1360 [153]"akku uebertragen, ohne dass der wert"
  150. 1370 [153]"des y-registers veraendert wird."
  151. 1380 [153]"dies war ja eine ganze menge an neuen"
  152. 1390 [153]"befehlen. sie lassen sich aber leicht"
  153. 1400 [153]"einpraegen, da sie keinerlei adress-"
  154. 1410 [153]"ierung besitzen. sie sind alle ein"
  155. 1420 [153]"byte lang. so haben wir es doch nicht"
  156. 1430 [153]"geschafft. es stehen noch ein paar be-"
  157. 1440 [153]""[163]14)"taste druecken"
  158. 1450 [153]""[163]18)"-8-"
  159. 1460 [141] 250 : [145] a [137] 1480 , 1150
  160. 1470 [143]*******************************
  161. 1480 [143]*---------- seite 9 ----------*
  162. 1490 [143]*******************************
  163. 1500 [153]"loadfehle offen, die wir in den weiteren"
  164. 1510 [153]"lektionen behandeln werden."
  165. 1520 [153]"geben sie jetzt wieder ihr geraet ein."
  166. 1530 a$ [178] "" : [133]"dwait oder fwait"; a$
  167. 1540 [139] a$ [178] "f" [167] f[178]8 : [137] 1600
  168. 1545 [139] a$ [178] "z" [167] 1310
  169. 1550 [139] a$ [178] "d" [167] f[178]1 : [137] 1600
  170. 1555 [139] a$ [178] "" [167] [128]
  171. 1560 [137] 1530
  172. 1570 [143]*******************************
  173. 1580 [143]*---------- lade routine -----*
  174. 1590 [143]*******************************
  175. 1600 [151] 2,f : [151] 46,8 : [151] 45,3 : [151] 2050 ,0: [147] "lektion 8" ,[194](2)
  176.